#使用类实现迭代器，实现斐波拉契数列
#使用面向对象做一个ATM（存取款功能）
#ATM类
#  属性： 钱，区域
#  方法：（存取）
#      用户可以过来取钱
#      取了钱ATM的钱就会减少
#      用户的账户的钱也会减少
#用户类
#  属性：用户名，  密码， 账户金额
#要求：
#    菜单   有登陆验证



class Fib():
    def __init__(self, max):
        self.max = max
        self.a = 0
        self.b = 1

    def __iter__(self):
        return self

    def __next__(self):
        fib = self.a
        if fib > self.max:
            raise StopIteration
        self.a, self.b = self.b, self.a + self.b
        return fib
a = Fib(8)
for i in a:
    print(i)


#——————————————————半成品，只实现了一半功能能————————————

class ATM():

   atm_money = 5000

   def __init__(self,area):
       self.area = area

   def draw_money(self, getmoney):
        if getmoney <= self.atm_money:
            self.atm_money -= getmoney
            print(f"取出{getmoney},这次账户余额:{self.atm_money}")

   def save_money(self):
       cunmoney = int(input("请你输入你要存入的金额:"))
       self.atm_money += cunmoney
       print(f"存入{cunmoney},这次余额{self.atm_money}")



class User():

    dic = {"root":{"passwd":123456,"money":10000}}

    def useradd(self,username,passwd):
        if username in self.dic:
            print("用户已存在")
        else:
            self.dic[username] = passwd
            print("创建用户成功")

    def login(self):
        username = input("请输入用户名")
        if username in a.dic:
            passwd = int(input("请输入密码"))
            if passwd == a.dic[username]["passwd"]:
                print("登陆成功")
                return True
            else:
                print("密码错误")
                return False
        else:
            print("用户名错误")
            return False

a = User()
b = ATM()

while 1:
    print(f"1.登陆".center(30, " "))
    print(f"2.注册".center(30, " "))
    print(f"exit.退出".center(30, " "))
    option = input("请输入你的选择:")
    if option == "1":
        if a.login():
            print(f"1.取钱".center(30, " "))
            print(f"2.存钱".center(30, " "))
            option = input("请输入你的选择:")
            if option == "1":
                b.draw_money(int(input("需要取出多少钱")))







    elif option == "2":
        username = input("请输入用户名:")
        passwd = input("请输入密码:")


    elif option == "exit":
        break
    else:
        print("输入错误，请重新输入")




















